/*
 *  levelUpGame - GameView.h
 *  Copyright 2011 W. Reckman. All rights reserved.
 */
#ifndef GAME_VIEW_H
#define GAME_VIEW_H

#include "Player.h"

class Settings;
class LevelUpApp;
class GameModel;

#define DRAW_WIN_MANY_HEADS

class GameView {
public:
	static const float GAME_TIME_ALPHA;
	static const float TIMED_TEXT_FADEOUT;
	static const float FEEDBACK_BAD_MODERATE;
	static const float FEEDBACK_MODERATE_GOOD;
	static const float FEEDBACK_GOOD_BALANCE;
	
	explicit GameView( const LevelUpApp& appRef_ );
	
	void setup();
	void update();
	void draw();
	
private:
	const Settings& s;
	const LevelUpApp& appRef;
	const GameModel& game;
	
	float endSequenceAnimTime;
	float balanceDrawScale;
	
	void calcBBoxForWindow( ofRectangle& bBox, int afterCol_, int afterRow_, float vScale_ ) const;
	ofImage* getFeedbackImage( int playerIdx_, float score_ ) const;
};

#endif /* ! GAME_VIEW_H */
